import request from '@/utils/request'

/**
 * 发送消息到AI
 * @param {String} content 消息内容
 * @returns {Promise} 请求结果Promise
 */
export function sendMessage(content) {
  return request({
    url: '/ai/chat',
    method: 'post',
    data: { content }
  })
}

/**
 * 获取AI聊天历史记录
 * @returns {Promise} 请求结果Promise
 */
export function getChatHistory() {
  return request({
    url: `/ai/history`,
    method: 'get'
  })
}

/**
 * 清除AI聊天历史记录
 * @returns {Promise} 请求结果Promise
 */
export function clearChatHistory() {
  return request({
    url: `/ai/history`,
    method: 'delete'
  })
}

/**
 * 初始化AI系统消息
 * @returns {Promise} 请求结果Promise
 */
export function initSystemMessage() {
  return request({
    url: `/ai/init-system`,
    method: 'post'
  })
}

/**
 * 流式发送消息到AI（返回EventSource对象）
 * @param {String} content 消息内容
 * @returns {EventSource} EventSource实例
 */
export function streamChat(content) {
  const token = localStorage.getItem('token') || ''
  
  // 注意：这里的URL路径必须与后端路由匹配
  // 后端可能需要配置为 /ai/stream 而不是 /api/ai/stream
  const url = `/api/ai/stream?content=${encodeURIComponent(content)}&token=${token}`
  
  // 创建并返回EventSource实例
  return new EventSource(url)
}